package com.castle.fortress.admin.goods.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.castle.fortress.admin.goods.dto.GoodsSpecDto;
import com.castle.fortress.admin.goods.entity.GoodsSpecEntity;

import java.util.List;

/**
 * 商品规格表 服务类
 *
 * @author 
 * @since 2021-11-25
 */
public interface GoodsSpecService extends IService<GoodsSpecEntity> {

    /**
     * 分页展示商品规格表列表
     * @param page
     * @param goodsSpecDto
     * @return
     */
    IPage<GoodsSpecDto> pageGoodsSpec(Page<GoodsSpecDto> page, GoodsSpecDto goodsSpecDto);

    /**
    * 分页展示商品规格表扩展列表
    * @param page
    * @param goodsSpecDto
    * @return
    */
    IPage<GoodsSpecDto> pageGoodsSpecExtends(Page<GoodsSpecDto> page, GoodsSpecDto goodsSpecDto);
    /**
    * 商品规格表扩展详情
    * @param id 商品规格表id
    * @return
    */
    GoodsSpecDto getByIdExtends(Long id);

    /**
     * 展示商品规格表列表
     * @param goodsSpecDto
     * @return
     */
    List<GoodsSpecDto> listGoodsSpec(GoodsSpecDto goodsSpecDto);

    /**
     * 删除商品的规格 真删
     * @param goodsId
     */
    void deleteByGoodsId(Long goodsId);

    /**
     * 获取商品的规格
     * @param goodsId
     * @return
     */
    List<GoodsSpecDto> listByGoodsId(Long goodsId);
}
